package es.cazadoresmadridejos.beans.dao.partner;

import java.util.List;
import java.util.Set;

import org.displaytag.pagination.PaginatedList;

import es.cazadoresmadridejos.common.bean.dao.Dao;
import es.cazadoresmadridejos.model.Partner;
import es.cazadoresmadridejos.model.Partner.Role;
import es.cazadoresmadridejos.objs.tablrecords.BigGameOrderTableRecord;
import es.cazadoresmadridejos.objs.web.Page;

public interface PartnerDao extends Dao<Partner>{

	Partner getByName(String userName);

	PaginatedList findAllPaginated(Page page);

	List<Partner> findAllForAutocomplete();

	List<Partner> findAllByBigGame(Long bigGameId);

	List<Partner> findAllForAutocompleteBigGame(Long id);

	List<Partner> findAllByOrder(boolean hasBigGame, boolean hasDeer);

	List<Partner> findNext(Integer numericValue, Integer stands,boolean hasBigGame, boolean hasDeer);

	List<Partner> findPartersFromOrderToBigGame(Integer numeric,boolean hasBigGame, Set<Long> partnersMap, List<Role> roles);

	List<BigGameOrderTableRecord> findAllByOrder();

	Integer getCountOfBigGameAssistances();

}
